/**
 * Created by lenovo-pc on 2017/8/25.
 */
$(document).ready(function () {

    /**
     * 模拟请求和模拟状态查询的切换
     */

    $("#httpRequest").click(function () {
        if ($("#request").is(":hidden")) {
            $("#request").show();
            $("#watch").hide();
        }
        $("#httpWatch").attr("class", "");
        $(this).attr("class", "active");
        return;
    });

    $("#httpWatch").click(function () {
        if ($("#watch").is(":hidden")) {
            $("#watch").show();
            $("#request").hide();
        }
        $("#httpRequest").attr("class", "");
        $(this).attr("class", "active");
        return;
    });

    /**
     * 参数格式切换   key-value/json
     */
    $("#change1").click(function () {
        $("#kv").hide();
        $("#json").show();
    });

    $("#change2").click(function () {
        $("#kv").show();
        $("#json").hide();
    });

    /**
     *增加参数
     */

    $("#add").click(function () {
        addParam();
    });


    $("#cat").click(function () {
        if ($("#status").is(":hidden")) {
            $("#status").show();
        } else {
            $("#status").hide();
        }
    })

    $("#isValue").click(function () {
        if ($("#isValue").is(":checked")) {
            $("#kv").show();
        } else {
            $("#kv").hide();
        }
    })

    $("#send").click(function () {
        requestNginx();
    })

});
/**
 * key-value参数增加
 */
function addParam() {
    var target = $("#tby");
    var pam = '<tr><td> <input name="name" type="text" placeholder="参数名" class="form-control field"/></td>' +
        '<td> <input name="value" type="text" placeholder="参数值" class="form-control field"/> </td>' +
        '<td> <button type="button" class="btn btn-primary btn-block btn-flat" onclick="delParam(this)">删除参数 </button> </td> </tr>';
    $(target).append(pam);
}
/**
 * key-value删除
 */
function delParam(value) {
    $(value).parent().parent().remove();
}

/***
 * 封装请求数据
 *
 */

function requestNginx() {
    if ($("#isValue").is(":checked")) {
        if ($("#kv").is(":hidden")) {
            var param = $("#jsonParam").val();
            if (isJsonFormat(param)) {
                data = param;
            } else {
                data = '{';
                var params = param.split('&');
                for (i = 0; i < params.length; i++) {
                    pas = params[i].split('=');
                    data += '"' + pas[0] + '"' + ':' + pas[1];
                    data += ',';
                }
                data = data.substring(0, data.length - 1);
                data += '}';
            }
        } else {
            var names = $("input[name='name']");
            var values = $("input[name='value']");
            data = '{';
            for (i = 0; i < names.length; i++) {
                data += '"' + $(names[i]).val() + '"' + ':' + $(values[i]).val();
                data += ',';
            }
            data = data.substring(0, data.length - 1);
            data += '}';
        }
    } else {
        data = {};
    }
}
/**
 * 判断字符串是否符合json格式
 * @param str
 * @returns {boolean}
 */
function isJsonFormat(str) {
    try {
        $.parseJSON(str);
    } catch (e) {
        return false;
    }
    return true;
}

 